package com.salt.core.redis.properties;

import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * @Description
 * @Author salt
 * @Date 2023/6/28
 * @Version 1.0.1
 */
@Data
@Component
@ConfigurationProperties(prefix = "spring.redis.lettuce")
public class SaltLettuceProperties {

    //在关闭客户端连接之前等待任务处理完成的最长时间，在这之后，无论任务是否执行完成，都会被执行器关闭，默认100ms
    private long shutDownTimeout;
    @Autowired
    private Pool pool;

    @Data
    @Component
    @ConfigurationProperties(prefix = "spring.redis.lettuce.pool")
    public class Pool {
        private int maxIdle;  // 最大空闲连接数 默认8
        private int minIdle;  // 最小空闲连接数 默认0
        private int maxActive; // 最大活跃链接数 默认8（使用负值表示没有限制）
        private long maxWait; // 连接池最大阻塞等待时间（使用负值表示没有限制）
    }

}
